package cn.iocoder.yudao.module.scrm.controller.admin.marketing.vo.look;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

@Schema(description = "管理后台 - 营销浏览 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MarketingLookRespVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32160")
    @ExcelProperty("id")
    private Integer id;

    @Schema(description = "营销内容表id", example = "23701")
    @ExcelProperty("营销内容表id")
    private String contentId;

    @Schema(description = "营销访客数据表id", example = "30040")
    @ExcelProperty("营销访客数据表id")
    private String visitorId;

    @Schema(description = "访问来源0企微 1微信")
    @ExcelProperty("访问来源0企微 1微信")
    private String source;

    @Schema(description = "分享类型默认0 员工 1访客", example = "1")
    @ExcelProperty("分享类型默认0 员工 1访客")
    private String materialType;

    @Schema(description = "营销标题内容")
    @ExcelProperty("营销标题内容")
    private String title;

    @Schema(description = "开始访问时间")
    @ExcelProperty("开始访问时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime startTime;

    @Schema(description = "结束访问时间")
    @ExcelProperty("结束访问时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime endTime;

    @Schema(description = "访问时长(秒)")
    @ExcelProperty("访问时长(秒)")
    private Integer lookTime;

    @Schema(description = "浏览内容比例")
    @ExcelProperty("浏览内容比例")
    private Integer percentage;

    @Schema(description = "负责人姓名（访客访问那一刻所属负责人）", example = "张三")
    @ExcelProperty("负责人姓名（访客访问那一刻所属负责人）")
    private String principalName;


    @ExcelProperty("转发后前端生成的唯一id")
    @Schema(description = "转发表id", example = "12645")
    private String transmitId;

    @Schema(description = "链路保留id", example = "12493")
    @ExcelProperty("链路保留id")
    private String linkId;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime createTime;

}